/**
 * 
 */
package src.model.gameObject.ability;

import java.util.Iterator;

import src.model.gameObject.PlayerGameObject;
import src.model.gameWorld.ActualMap;
import src.model.gameWorld.PlayerLookupTable;
import src.model.gameWorld.Position;

/**
 * @author Tristan
 *
 */
public class RangedAttack extends ActiveAbility {

	private ActualMap am;
	/**
	 * @param pgo
	 * @param aType
	 */
	public RangedAttack(PlayerGameObject pgo, PlayerLookupTable playerLookup, ActualMap am) {
		super(pgo, AbilityType.RANGEDATTACK, playerLookup);
		this.am = am;
	}

	public AbilityReturnResult execute(Position... position){
		if (am.distanceBetween(position[0], am.findObject(super.gameObject())) > super.getAttribute(AbilityAttributes.MAXIMUM){
			return AbilityReturnResult.IMPOSSIBLE;
		}
		GameObject enemy = am.findObject(p, t)
		
	}
	
	public boolean queueToMission(Position...position){
		if (position.length == 0)  return false;
		super.gameObject().enqueueAbility(this, position);
		return true;
	}
	
	public void destroySub(){
		// TODO: IMPLEMENT!!!!
	}
}
